package com.tanhua.dubbo.api;


import com.tanhua.model.enums.CommentType;
import com.tanhua.model.mongo.Comment;

import java.util.List;

public interface CommentApi {
    /**
     *  分页查询评论
     */
    List<Comment> findComments(String movementId, CommentType comment, Integer page, Integer pagesize);

    /**
     *  保存互动，返回数量
     */
    Integer saveComments(Comment comment1);

    /**
     *  是否点赞
     */
    boolean like(String movementId, Long userId, CommentType like);

    /**
     *  删除互动，返回数量
     */
    Integer delete(Comment comment);

    /**
     *  是否喜欢
     */
    boolean isLove(String movementId, Long userId, CommentType love);


    /**
     * 点赞后返回评论点赞数
     * @return
     */
    Integer saveLike(Comment comment);

    /**
     * 取消点赞后返回评论点赞数
     * @return
     * @param comment
     */
    Integer deleteLike(Comment comment);

    /**
     * 通过id查询评论数据
     * @param id
     * @return
     */
    Comment findById(String id);


    boolean common(String movementId, Long userId, CommentType commentType);

    /**
     * 构造条件获取每个被评论id与当前登录id相等的互动点据
     * @param userId
     * @param page
     * @param pagesize
     * @param commentType
     * @return
     */
    List<Comment> likes(Long userId, Integer page, Integer pagesize, CommentType commentType);

    /**
     * 视频点赞保存
     * @param comment
     */
    void saveVideo(Comment comment);

    /**
     * 删除视频点赞
     * @param comment
     */
    void remove(Comment comment);
}
